/*
 * copyright (c) 2013 Blaise-Florentin Collin
 *
 * This file is part of astroDCAM.
 *
 * AstroAviBrowser is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License v3
 * as published by the Free Software Foundation
 *
 * AstroAviBrowser is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * v3 along with AstroAviBrowser; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301 USA
 */

///
/// \file QAstroApplication.hpp
/// \brief Main Qt application object (headers)
///

#ifndef _QASTROAPPLICATION_HPP_
#define _QASTROAPPLICATION_HPP_

// Qt includes
#include <QApplication>
#include <QStringList>

// Qt app includes
#include "QAstroMainWindow.hpp"

///
/// \class QAstroApplication
/// \brief Main Qt application object
///
/// This object is the main application.\n
/// QApplication public heritage
///
class QAstroApplication : public QApplication
{
   Q_OBJECT
   public :
      /// The main constructor
      QAstroApplication(int argc,char** argv);
      /// The destructor
      ~QAstroApplication();
      /// Init the application (ieee1394 bus, main widget)
      int init();
   private :
      QStringList args; ///< Shell call arguments
      QAstroMainWindow* mainWindow; ///< Main widget
      dc1394bus* ieee1394bus; ///< The ieee1394 bus object
};

#endif
